Déclencheurs
Commandes
Checkpoints
Menus
JSON
Créer une commande
Les commandes sont déclenchées en les écrivant dans le chat et vous permettent d’y affecter l’action que vous souhaitez.
Pour créer une commande, vous devez passer par un de ses constructeurs.
Le constructeur simple
Pour enregistrer une commande sans allias, nous allons utiliser ce constructeur.
Nous pouvons voir qu’il nous faut renseigner quatre informations :
- Le déclencheur de la commande
- La description de la commande
- La description de l’utilisation de la commande
- L’action déclenchée par la commande
Nous allons pour cet exemple créer une commande dont voici les caractéristiques :
Paramètre | Correspondance |
---|---|
Déclencheur | /test |
Description | Une commande de test |
Utilisation | /test |
Action | Affiche dans la console le nom du joueur |
Voici à quoi la construction ressemble pour cette commande :
SChatCommand testCommand = new SChatCommand("/test", "Une commande de test", "/test", (Action<Player, string[]>)((player, args) =>
{
Debug.Log($"Commande de test déclenchée par {player.FullName}");
}));
Maintenant que nous avons créée notre commande, il ne nous reste plus qu’à l’enregistrer avec la méthode Register()
afin qu’elle soit chargée au démarrage du serveur et puisse être utilisée par les joueurs :
testCommand.Register();
Le constructeur avec allias
Le constructeur avec allias permet d’affecter des allias au déclencheur de la commande. Dans cet exemple, nous allons utiliser la même commande /test
que pour le constructeur simple et allons rajouter les allias /t
et /cmdtest
. La commande pourra donc être appelée en tapant dans le chat /t
, /test
ou bien /cmdtest
.
Pour ce faire, nous utilisons ce constructeur :
SChatCommand testCommand = new SChatCommand("/test", new string[] { "/t", "/cmdtest" }, "Une commande de test", "/test", (Action<Player, string[]>)((player, args) =>
{
Debug.Log($"Commande de test déclenchée par {player.FullName}");
}));
Il ne nous reste plus qu’à enregistrer la commande avec la méthode Register()
de la même manière que pour le constructeur simple :
testCommand.Register();